// 7-14 输出N以内的所有素数 (4.5) (15分)
// 编程找出N(2≤N≤500)以内(即小于等于N)的所有素数。

// 输入格式:
// 输入整数N(2≤N≤500)。

// 输出格式:
// 每8个一行输出N以内的所有素数。注意每个数据均占5列，且采用右对齐。

// 输入样例1:
// 50

#include <stdio.h>
#include <math.h>

int isPrime(int n);
int main()
{
    int n, cnt = 0;
    scanf("%d", &n);
    for (int i = 2; i < n + 1; i++)
    {
        if (isPrime(i))
        {
            printf("%5d", i);
            cnt++;
            if (cnt % 8 == 0)
            {
                printf("\n");
            }
        }
    }

    return 0;
}

int isPrime(int n)
{
    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
        {
            return 0;
        }
    }
    return 1;
}

// 输出样例:
//     2    3    5    7   11   13   17   19
//    23   29   31   37   41   43   47